package com.demo.modules.job.entity;

import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang.StringUtils;

/**
 * @author: zsx
 * @create: 2020-05-26 11:20
 **/
@Setter
@Getter
public class CronModel {
    /**
     * 类型 0: 每隔几秒 1:每天什么时间执行 2：每月什么时间执行 3：每周什么时间执行  4：每隔几分钟
     * 每秒、每分、每天、每周、每月
     */
    private Integer jobType;

    /**
     * 时间 yyyy-MM-dd
     */
    private String time;

    /**
     * 时
     */
    private Integer hour;

    /**
     * 分
     */
    private Integer minute;

    /**
     * 秒
     */
    private Integer second;


    /**
     * 每周  多个用英文逗号隔开
     */
    private String dayOfWeeks;

    /**
     * 每月  多个用英文逗号隔开
     */
    private String dayOfMonths;


    /**
     * 时
     */
    public Integer getHour() {
        if (StringUtils.isNotEmpty(time)) {
            return Integer.parseInt(time.split(":")[0].trim());
        } else {
            return hour;
        }
    }

    /**
     * 分
     */
    public Integer getMinute() {
        if (StringUtils.isNotEmpty(time)) {
            return Integer.parseInt(time.split(":")[1].trim());
        } else {
            return minute;
        }
    }

    /**
     * 秒
     */
    public Integer getSecond() {
        if (StringUtils.isNotEmpty(time)) {
            return Integer.parseInt(time.split(":")[2].trim());
        } else {
            return second;
        }
    }
}
